Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

bone

Package Overview
Dependencies
Maintainers
1
Versions
50
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

bone

web frontend develop toolkit

  • 0.3.5
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

Bone

web前端开发工具

NPM version NPM version travis Coverage Status Join the chat at https://gitter.im/wyicwx/bone

###核心概念

  这个模块是Bone的核心功能,为了让使用者更容易读懂Bone的配置文件,核心模块提供了一种类似操作系统里文件系统的概念,我称它为虚拟文件系统,即将一个虚拟的文件地址映射到一个真实存在的文件地址上,同时可以标注虚拟文件是由何种方式对源文件处理(注意这里不对真实文件做任何处理,源文件是指对真实文件的在内容上的拷贝),对源文件的处理模块我称它为处理器,通过下面的示例你可以对Bone的虚拟文件系统有一个初步的了解。

###示例

这是一个简单Bone配置例子的示范,你需要在项目文件夹下创建bonefile.js文件,并安装bone-cli

var bone = require('bone');
var connect = require('bone-cli-connect');
var less = bone.require('bone-act-less');
var concat = bone.require('bone-act-concat');

// 定义生成文件夹dist,用来存放最终的文件
var dist = bone.dest('dist');

// 在dist下定义文件夹css(通过dist变量的链式调用为指定定义再其下的文件)
dist.dest('css')
	// 指定映射来源src/less下所有.less后缀的文件
   .src('~/src/less/*.less')
   // 所有文件都经过less处理
   .act(less({
   		ieCompat: false
   }))
   // 并重命名为.css后缀
   .rename(function(filename) {
		return filename.replace(/\.less$/, '.css');
   });

// 在dist下定义文件夹html
dist.dest('html')
	// 映射src/下将所有.html文件
	.src('~/src/*.html');

// 在dist下定义文件夹js
dist.dest('js')
	// 指定映射来源文件为src/main.js
	.src('~/src/main.js')
	// 将源文件与src/lib下所有.js后缀的文件合并
	.act(concat({
		files: '~/src/lib/*.js'
	}));

// 加载支持connect的插件
bone.cli(connect({
	base: './dist',
	port: 8080
}));

ps:'~/'符号指bonefile.js文件所在的文件夹位置,Bone中的文件路径都使用fs.pathResolve解析,详情请参阅api

安装示例中的依赖

$ npm install bone bone-cli-connect bone-act-less bone-act-concat --save-dev

启用connect后通过浏览http://localhost:8080查看文件

$ bone connect

###Grunt && Glup共存

bone.task('grunt', {
	exec: 'grunt'
});
bone.task('gulp', {
	exec: 'gulp',
	params: 'default'
});

bone.task的exec通过开启子进程,调用系统内其他命令行工具

###性能

当启用bone-cli-connectbone-cli-proxy时开启内部缓存,通过bone的fs api接口读取的文件内容都将会以buffer的形式缓存到内存里,当文件内容发生变化时,bone根据文件的依赖清空相应文件的缓存,缓存的粒度控制到单个文件。

###文档

###常用服务器

###常用处理器

FAQs

Package last updated on 10 Oct 2016

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc